package hankz.spring.context;

import hankz.spring.beans.BeansException;

/**
 * @description: TODO
 * @author: zzc
 * @modified By: zzc
 * @date: Created in 2021/11/21 17:30
 * @version:v1.0 继承自 ApplicationContext，并提供了 refresh 这个核心方法
 */
public interface ConfigurableApplicationContext extends ApplicationContext {

    /**
     * 刷新容器
     *
     * @throws BeansException
     */
    void refresh() throws BeansException;

    /**
     * 注册虚拟机销毁钩子方法
     */
    void registerShutdownHook();

    void close();

}
